The Internet has grown to allow the user to access a plethora of information—from the latest news and watching movies on-line to checking a bank account balance through on-line banking, from ordering an airline ticket or a meal from a corner Chinese take-out place. In some situations, the user knows a particular web site that she is wishing to access. For example, when the user wishes to do her on-line banking with the Royal Bank of Canada, the user knows to access web site www.rbc.com.
In other circumstances, the user may not be aware of a particular web site that addresses his needs and he may need to perform what is known a web search using one of search engines, such as YANDEX, GOOGLE, YAHOO! or the like. As is known, the user enters a search query and the search engine provides a list of web resources that are responsive to the search query in what is known as a Search Engine Results Page or SERP, for short.
There are numerous search engines available to the user. Some of them are considered to be general purpose search engines (such as Yandex™, Google™, Yahoo™ and the like). Others are considered to be vertical search engines—i.e. search engines dedicated to a particular topic of search—such as Momondo™ search engine dedicated to searching flights.
Irrespective of which search engine is used, the search engine is generally configured to receive a search query from a user, to perform a search and to return a ranked search results page (SERP) to the user. Most search engines available today tend to sort the uncovered search engine results in the diminishing order of their relevancy to the search query—namely, the most relevant search engine is typically located at the top of the SERP, with the remainder of search results being listed in the order of diminishing relevancy. For example, for the search query “Madonna latest song” submitted to the GOOGLE™ search engine on Jul. 11, 2014 the most relevant search result is listed as “Give Me All Your Luvin' (Feat. MIA and Nicki Minaj)—YouTube” out of about 13,000,000 search results found. The general goal being to present the most relevant search result for the user as high on the SERP as possible and, preferably, within the first page of SERP so that the user does not have to browse the long list of search results, leave alone navigating the second, third, etc pages of the search results.
In order to rank search results, any given search engine uses ranking criteria to determine which result is more relevant than the other. Just as an example, some of the known techniques for ranking search results by relevancy to the user-submitted search query are based on some or all of: (i) how popular a given search query or a response thereto is in searches conducted by either the general web search or the vertical search; (ii) how many results have been returned by either the general web search or the vertical search; (iii) whether the search query contains any determinative terms (such as “images”, “movies”, “weather” or the like), (iv) how often a particular search query is typically used with determinative terms by other users; and (v) how often other users performing a similar search have selected a particular resource or a particular vertical search results when results were presented using the SERP.
The above search ranking criteria can be thought of as “generic search ranking criteria”. It is generic in the sense that even through it takes into account what different users have selected as relevant search results, the search ranking criterion is not personalized to any specific users. However, when two different users run a particular search, they may be interested in very different things.
One will easily appreciate that millions and millions of users use the Internet every day and out of these millions and millions of users, the majority will use a commercially available search engine to discover the on-line content he or she is interested in. As one will further appreciate, even though two given users may be submitting the same query, they may have very different search intents and different search results will satisfy their respective search intent. In other words, if both of these given users submit the same search query (with a different search intent), yet are presented with the same SERP based on generic ranking criteria, one or both of the user may, in fact, not be satisfied with the presented SERP.
In the field of search engines and targeted online advertising, personalization of content presented to a user is one of the most important issues. Efforts have been made to determine the most relevant content for a given user, based on the given user's personal needs, interests and distinctive behavioral features. In order to achieve this, it has been known to collect and aggregate the given user's behavioral data on a search engine server or a targeted advertisement server. In other words, the search engine server or the targeted advertisement server would monitor a given user's interactions with various online entities and collect certain information about the given user's interactions.
Once collected, behavioral data is then analysed with use various statistical and machine learning methods and, as a result of this analysis, user personalized ranking model is created. User ranking model may be created with the use of so-called resource-specific features, which are specific parameters, calculated through analysis of user behavior for the given user.
Such features may represent a wide array of parameters, such as socio-demographical characteristics of users (such as but not limited to: age and sex, or interest affinities), specific user behavioral qualities (e.g. for example, the fact that the given user shops in online stores that have a physical location close to the given user's geo position, the fact that the user does or does not click on banner ads, etc).
The known approaches to personalization of search results rankers (whether the search results presented in response to the user's search query or when selecting a targeted message to be delivered to the given user) using a generic result ranking algorithm (i.e. the generic algorithm described above) and then re-ranks the so-generically-ranked results using resource-specific features.
Within some prior art approaches, the set of observed personalized parameters (not necessarily features themselves) can be assigned weights, by the server. The so-weighted personalized parameters are indicative to the search engine ranker or the targeted message ranker, which user qualities and interests are particularly strong for the given user and which are less important.
U.S. Pat. No. 8,442,973 granted to Cramer et al on May 14, 2013 discloses method and apparatus for utilizing user behavior to immediately modify sets of search results so that the most relevant documents are moved to the top. In one embodiment of the invention, behavior data, which can come from virtually any activity, is used to infer the user's intent. The updated inferred implicit user model is then exploited immediately by re-ranking the set of matched documents to best reflect the information need of the user. The system updates the user model and immediately re-ranks documents at every opportunity in order to constantly provide the most optimal results. In another embodiment, the system determines, based on the similarity of results sets, if the current query belongs in the same information session as one or more previous queries. If so, the current query is expanded with additional keywords in order to improve the targeting of the results.